package com.xpgk.mvc.organizationLevel;

import java.util.List;

import com.jfinal.log.Log;
import com.xpgk.annotation.Table;
import com.xpgk.mvc.base.BaseModel;

/**
 * 机构层级model
 * 
 */
@SuppressWarnings("unused")
@Table(tableName = OrganLevel.table_name)
public class OrganLevel extends BaseModel<OrganLevel> {

	private static final long serialVersionUID = -4163458364577813569L;

	private static final Log log = Log.getLog(OrganLevel.class);

	public static final OrganLevel dao = new OrganLevel().dao();

	public static final String system = "ad6886c05b5c4117be0243d64974ac12";

	/**
	 * 表名称
	 */
	public static final String table_name = "sys_organ_level";

	/**
	 * 字段描述：该条数据添加人员is  字段类型：character varying 长度：32
	 */
	public static final String column_createId = "createId";
	/**
	 * 字段描述：该条数据添加时间  字段类型：datetime 长度：0
	 */
	public static final String column_createDate = "createDate";
	/**
	 * 字段描述：该条数据更新人员id  字段类型：character varying 长度：100
	 */
	public static final String column_updateId = "updateId";
	/**
	 * 字段描述：该条数据更新时间  字段类型：datetime 长度：0
	 */
	public static final String column_updateDate = "updateDate";
	
	/**
	 * 字段描述：主键 字段类型：character varying 长度：32
	 */
	public static final String column_ids = "ids";

	/**
	 * 字段描述：名称 字段类型：character varying 长度：25
	 */
	public static final String column_name = "name";

	/**
	 * 字段描述：层级int 长度：2
	 */
	public static final String column_level = "levelnum";

	/**
	 * 字段描述: 是否父节点 string 长度：5
	 */
	public static final String column_isparent = "isparent";

	/**
	 * 字段描述: 是否隐藏 string 长度：5
	 */
	public static final String column_isHidden = "isHidden";

	/**
	 * 字段描述: 父节点ids string 长度：32
	 */
	public static final String column_parentids = "parentids";

	/**
	 * 字段描述: 序号 string 长度：11
	 */
	public static final String column_orderid = "orderid";

	/**
	 * 字段描述：图标 string 长度：50
	 */
	public static final String column_icon = "icon";

	/**
	 * sqlId : 描述：查询根节点
	 */
	public static final String sqlId_rootNode = "sys.organ_level.rootNode";

	/**
	 * sqlId : 描述：根据上级节点id查询子部门信息
	 */
	public static final String sqlId_childNode = "sys.organ_level.childNode";

	/**
	 * sqlId : 描述：根据层级获取层级下所有层级
	 */
	public static final String sqlId_getLevelsByLevel = "sys.organ_level.getLevelsByLevel";

	/**
	 * 获取层级ids
	 * 
	 * @param level
	 * @return
	 */
	public String getIdsByLevel(int level) {
		String sql = "select ids from sys_organ_level where levelnum=?";
		return dao.findFirst(sql, level).getPKValue();
	}

	/**
	 * 根据层级获取层级下所有层级
	 * 
	 * @param level
	 * @return
	 */
	public List<OrganLevel> getLevelsByLevel(int level) {
		String sql = getSqlMy(sqlId_getLevelsByLevel);
		return dao.find(sql, level);
	}

}
